/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/itframe">itframe</a> All rights reserved.
 */
package com.rise.itframe.modules.inv.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.validation.constraints.NotNull;

import org.hibernate.validator.constraints.Length;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.rise.itframe.common.persistence.DataEntity;

/**
 * 评审信息Entity
 * @author ming
 * @version 2017-12-31
 */
@SuppressWarnings("serial")
public class Review extends DataEntity<Review> {

    private static final long serialVersionUID = 1L;
    private String reviewName; // 评审
    private Date reviewDate; // 评审日期
    private Integer reviewNum; // 评审人数
    private String status;		// 状态
    private Double reviewFee; // 评审费用
    private Double reviewTotalFee; // 评审总费用
    private String operateFlag; // 操作标记
    private String transactName;// 经办人
    private String transactId;// 经办人
    private Date reviewDateBegin; // 开票日期起
    private Date reviewDateEnd; // 开票日期至
    private String taskNo;// 任务号
    private List<ReviewUser> userList = new ArrayList<ReviewUser>();

    private String reviewUserName;// 评审用户名称

    public String getTaskNo() {
        return taskNo;
    }

    public void setTaskNo(String taskNo) {
        this.taskNo = taskNo;
    }

    public Double getReviewTotalFee() {
        return reviewTotalFee;
    }

    public void setReviewTotalFee(Double reviewTotalFee) {
        this.reviewTotalFee = reviewTotalFee;
    }

    public Double getReviewFee() {
        return reviewFee;
    }

    public void setReviewFee(Double reviewFee) {
        this.reviewFee = reviewFee;
    }

    public String getReviewUserName() {
        return reviewUserName;
    }

    public void setReviewUserName(String reviewUserName) {
        this.reviewUserName = reviewUserName;
    }

    public List<ReviewUser> getUserList() {
        return userList;
    }

    public void setUserList(List<ReviewUser> userList) {
        this.userList = userList;
    }

    public Integer getReviewNum() {
        return reviewNum;
    }

    public void setReviewNum(Integer reviewNum) {
        this.reviewNum = reviewNum;
    }



    public String getTransactId() {
        return transactId;
    }

    public void setTransactId(String transactId) {
        this.transactId = transactId;
    }

    public String getTransactName() {
        return transactName;
    }

    public void setTransactName(String transactName) {
        this.transactName = transactName;
    }

    public String getOperateFlag() {
        return operateFlag;
    }

    public void setOperateFlag(String operateFlag) {
        this.operateFlag = operateFlag;
    }

    public Review() {
        super();
    }

    public Review(String id){
        super(id);
    }

    @Length(min = 1, max = 64, message = "评审名称长度必须介于 1 和 100 之间")
    public String getReviewName() {
        return reviewName;
    }

    public void setReviewName(String reviewName) {
        this.reviewName = reviewName;
    }

    public Date getReviewDateBegin() {
        return reviewDateBegin;
    }

    public void setReviewDateBegin(Date reviewDateBegin) {
        this.reviewDateBegin = reviewDateBegin;
    }

    public Date getReviewDateEnd() {
        return reviewDateEnd;
    }

    public void setReviewDateEnd(Date reviewDateEnd) {
        this.reviewDateEnd = reviewDateEnd;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @NotNull(message = "评审日期不能为空")
    public Date getReviewDate() {
        return reviewDate;
    }

    public void setReviewDate(Date reviewDate) {
        this.reviewDate = reviewDate;
    }


    @Length(min=1, max=4, message="状态长度必须介于 1 和 4 之间")
    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

}